//
//  BLTimeAxisVisitor.h
//  BLTimeAxis
//
//  Created by dg on 2025/4/17.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@protocol BLTimeAxisComponent;
@class BLTimeAxisBackground, BLTimeAxisBaseLine, BLTimeAxisData, BLTimeAxisRule, BLTimeAxisDigitalDivision;
@protocol BLTimeAxisVisitor <NSObject>

// 通用绘制方法
- (void)visitTimeAxis:(id<BLTimeAxisComponent>)aTimeAxis;

// 绘制数字与分割线
- (void)visitTimeAxisDigitalDivision:(BLTimeAxisDigitalDivision *)division;

// 绘制刻度线
- (void)visitTimeAxisRule:(BLTimeAxisRule *)data;

// 绘制数据
- (void)visitTimeAxisData:(BLTimeAxisData *)data;

// 绘制刻度线
- (void)visitTimeAxisBaseLine:(BLTimeAxisBaseLine *)baseLine;

// 绘制背景
- (void)visitTimeAxisBackground:(BLTimeAxisBackground *)background;

@property(nonatomic, assign) CGSize viewSize;

/**初始化画布的宽度**/
- (instancetype)initWithViewSize:(CGSize)viewSize;

@end
